//package org.example;
//
//import org.example.entity.CustomerInfo;
//import org.example.entity.CustomerOrder;
//import org.example.entity.CustomerRepayPlan;
//import org.example.generator.DataGenerator;
//
//import java.time.LocalDate;
//import java.util.List;
//
///**
// * 简单测试订单状态和放款时间
// */
//public class SimpleOrderTest {
//    public static void main(String[] args) {
//        System.out.println("=== 简单测试订单状态和放款时间 ===");
//
//        // 生成一个订单
//        CustomerInfo customer = DataGenerator.generateCustomerInfo(LocalDate.of(2023, 8, 15));
//        CustomerOrder order = DataGenerator.generateCustomerOrder(customer, LocalDate.of(2023, 8, 15), "测试");
//        List<CustomerRepayPlan> plans = DataGenerator.generateRepayPlan(order);
//
//        System.out.println("订单信息:");
//        System.out.println("  订单号: " + order.getOrderNo());
//        System.out.println("  贷款金额: " + order.getLoanAmount());
//        System.out.println("  订单状态: " + order.getStatus());
//        System.out.println("  放款时间: " + order.getFrTime());
//        System.out.println("  产品名称: " + order.getProductName());
//
//        System.out.println("\n还款计划详情:");
//        for (CustomerRepayPlan plan : plans) {
//            System.out.printf("  期数%d: 应还日期=%s, 状态=%s, 逾期天数=%d, 应还金额=%s\n",
//                    plan.getBillTenor(),
//                    plan.getDueDate(),
//                    plan.getRepayStatus(),
//                    plan.getOverdueDays(),
//                    plan.getNowPayAmount());
//        }
//
//        // 统计状态
//        long settledCount = plans.stream().filter(plan -> "已结清".equals(plan.getRepayStatus())).count();
//        long notDueCount = plans.stream().filter(plan -> "未到期".equals(plan.getRepayStatus())).count();
//        long overdueCount = plans.stream().filter(plan -> "逾期".equals(plan.getRepayStatus())).count();
//
//        System.out.println("\n状态统计:");
//        System.out.println("  已结清: " + settledCount + "期");
//        System.out.println("  未到期: " + notDueCount + "期");
//        System.out.println("  逾期: " + overdueCount + "期");
//
//        // 验证贷款金额是否精确到百位
//        double amount = order.getLoanAmount().doubleValue();
//        if (amount % 100 == 0) {
//            System.out.println("\n✓ 贷款金额精确到百位");
//        } else {
//            System.out.println("\n✗ 贷款金额未精确到百位");
//        }
//
//        // 验证订单状态逻辑
//        boolean allSettled = plans.stream().allMatch(plan -> "已结清".equals(plan.getRepayStatus()));
//        String expectedStatus = allSettled ? "已结清" : "未结清";
//        if (expectedStatus.equals(order.getStatus())) {
//            System.out.println("✓ 订单状态逻辑正确");
//        } else {
//            System.out.println("✗ 订单状态逻辑错误");
//        }
//
//        // 验证放款时间格式
//        if (order.getFrTime().matches("\\d{4}-\\d{2}-\\d{2}")) {
//            System.out.println("✓ 放款时间格式正确");
//        } else {
//            System.out.println("✗ 放款时间格式错误");
//        }
//    }
//}






